package com.yinhechuangji.application.dao;

import com.yinhechuangji.application.entity.UserBase;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserBaseMapper {
	int deleteByPrimaryKey(String userBaseId);

	int insert(UserBase record);

	UserBase selectByPrimaryKey(String userBaseId);

	int updateByPK(UserBase record);

	int updatePasswordByUserBaseId(String userBaseId, String password);

	// UserBase selectUserIdentityCardNumber(String identityCardNumber);

	int updatePhoneNumByUserBaseId(String userBaseId, String phoneNum, String originalPhoneNumber);

	UserBase selectOldPasswordByUserBaseId(String userBaseId);

	int updateNewPasswordByUserBaseId(String userBaseId, String newPassword);

	UserBase selectByPhoneNum(String phoneNumber);

	/**
	 * 根据用户id查询用户身份证号和名字
	 *
	 * @param userBaseId
	 * @return
	 */
	UserBase queryUserBaseIDNumberAndUserName(String userBaseId);

	/**
	 * 根据用户id修改用户登录状态
	 *
	 * @param userBaseId
	 * @return
	 */

	int updateIsActivationByUserBaseId(String userBaseId);

	/**
	 * 根据手机号插入用户
	 *
	 * @return
	 */
	int insertNewUserByPhoneNum(String phoneNum, String realName);

	/**
	 * 根据手机号修改密码
	 *
	 * @return
	 */
	int updatePasswordByPhoneNum(String phoneNum, String password);

	/**
	 * 
	 * total:查询总条数. <br/>
	 * 创建时间: 2017年11月28日 下午1:14:29 <br/>
	 * 
	 * @author WangXiao Email:alyce_wx@foxmail.com.;
	 * @param record
	 * @return
	 * @since JDK 1.8
	 */
	Long total(UserBase record);

	/**
	 * 
	 * findCont:条件查询. <br/>
	 * 创建时间: 2017年11月28日 下午1:15:50 <br/>
	 * 
	 * @author WangXiao Email:alyce_wx@foxmail.com.;
	 * @param record
	 * @return
	 * @since JDK 1.8
	 */
	List<UserBase> findCont(UserBase record);

	/**
	 * 手机号获取用户对象
	 * 
	 * @param phone
	 * @return
	 */
	public UserBase queryUser(String phone);

	/**
	 * 
	 * getByPk:根据用户主键查询. <br/>
	 * 创建时间: 2018年1月23日 下午3:43:30 <br/>
	 * 
	 * @author WangXiao Email:alyce_wx@foxmail.com.;
	 * @param userBaseId
	 * @return
	 * @since JDK 1.8
	 */
	public UserBase getByPk(String userBaseId);
	/**
	 * 删除当前用户对应的ticketId字段
	 * 
	 * */
	
	void deleteTicketId(@Param("userBaseId") String userBaseId);

}